Fix decoding lock files with path dependencies
authorAlex Crichton <alex@alexcrichton.com>
Tue, 1 Mar 2016 06:20:47 +0000 (22:20 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Thu, 3 Mar 2016 21:35:46 +0000 (13:35 -0800)
commitf28c7872e66ec55540ae8e86a605a44bf543c084
tree07bed25164eac01b3792605e4e88baf057982319
parenta71e57438c70f851c4b2bb5ff529c620133d5e7e
Fix decoding lock files with path dependencies

With the previous changes a path dependency must have the precise path to it
listed in its package id. Currently when decoding a lockfile, however, all path
dependencies have the same package id, which unfortunately causes a mismatch.

This commit alters the decoding of a lockfile to perform some simple path
traversals to probe the filesystem to understand where path dependencies are and
set the right package id for the found packages.
src/cargo/core/resolver/encode.rs
src/cargo/ops/cargo_compile.rs
src/cargo/ops/cargo_fetch.rs
src/cargo/ops/cargo_generate_lockfile.rs
src/cargo/ops/cargo_pkgid.rs
src/cargo/ops/cargo_read_manifest.rs
src/cargo/ops/lockfile.rs
src/cargo/ops/resolve.rs